package com.kkb.kkbportal.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.kkb.kkbportal.domain.ums.Permission;

import java.util.List;

/**
 * <p>
 * 权限详情表 服务类
 * </p>
 *
 * @author lzs
 * @since 2021-08-14
 */
public interface PermissionService extends IService<Permission> {

    /**
     * 根据条件分页展示信息
     *
     * @param conditionalPermission 封装了查询条件的权限信息
     * @param pageNum               页码
     * @param pageSize              条数
     * @return 查询结果
     */
    PageInfo<Permission> selectPage(Permission conditionalPermission, Integer pageNum, Integer pageSize);

    /**
     * 通过指定条件查询角色信息
     *
     * @param conditionalPermission 封装了对应条件的权限信息
     * @return 权限列表
     */
    List<Permission> selectByCondition(Permission conditionalPermission);

    /**
     * 根据权限id查询权限信息
     *
     * @param id 权限id
     * @return 权限信息
     */
    Permission selectPermissionById(Long id);

    /**
     * 新增权限
     *
     * @param permission 权限对象
     */
    void insert(Permission permission);

    /**
     * 通过权限名称来获取对应权限对象，在新增对象中使用
     *
     * @param permissionName 权限名称
     * @return 权限对象
     */
    Permission selectByPermissionName(String permissionName);

    /**
     * 根据传入的id对权限进行逻辑删除
     *
     * @param id id值
     */
    void deleteById(Long id);
}
